include_rules = [
  "+components/plugins/renderer",
  "+components/viz/common",
  "+content/web_test/common",
  "+content/public/common",
  "+content/public/renderer",
  "+content/shell/common",
  "+content/shell/renderer",
  "+device/gamepad/public/cpp",
  "+device/gamepad/public/mojom",
  "+gin",
  "+gpu/command_buffer/client",
  "+mojo/public",
  "+net/base",
  "+printing",
  "+services/device/public/cpp/generic_sensor",
  "+services/device/public/mojom",
  "+services/network/public/mojom/cors.mojom.h",
  "+services/service_manager/public/cpp",
  "+skia",
  "+third_party/khronos/GLES2/gl2.h",
  "+third_party/skia",
  "+third_party/blink/public/platform",
  "+third_party/blink/public/web",
  "+ui/display",
  "+ui/events",
  "+ui/gfx",
  "+v8/include",

  # These files use //content/renderer/ for web test helpers, but those includes
  # should not leak out to other parts of //content/shell unrelated to web
  # tests. To avoid transitively including them to //content/shell through
  # this directory, we avoid including them.
  "-content/web_test/renderer/web_frame_test_proxy.h",
  "-content/web_test/renderer/web_widget_test_proxy.h",
]

specific_include_rules = {
  # These classes subclass `blink::WebView` and RenderWidget to inject behaviour
  # for web tests.
  "web_(frame|view|widget)_test_proxy\.h": [
    "+content/renderer",
  ],
  # cc files do not leak includes so they are allowed to reference the test
  # helpers that include //content/renderer, and //content/renderer itself.
  ".*\.cc": [
    "+content/renderer",
    "+content/web_test/renderer/web_frame_test_proxy.h",
    "+content/web_test/renderer/web_widget_test_proxy.h",
  ],
}
